﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using LogicStudio.HashEncode;
using System.Data;
using Banesco.Entidades;
using Banesco.Logica;
using System.Xml;
using System.Configuration;

namespace WebCliente
{
    public partial class Mensajes : BanescoBase
    {
        BSBanesco objBS = new BSBanesco();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string IdError = Session[Constantes.SESIONERRORES]!=null ? Session[Constantes.SESIONERRORES].ToString(): "001";
                BuscarMensaje(IdError);
                if(IdError == "001")
                    btnRetornar.Visible = true;

                //EstablecerMensaje("Diseño para mensajes de tipo Advertencia", "Advertencia");
            }
        }


        //private void EstablecerMensaje(string mensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode tipoMensaje)
        //{
        //    pcCajaMensajes1.Mensaje = mensaje;
        //    pcCajaMensajes1.TipoMensaje = tipoMensaje;

        //    pcCajaMensajes1.EstablecerInformacion();
        //}

        private void BuscarMensaje(string IdError)
        {
            try
            {
                DataSet dsDatos = new DataSet();
                objBS.ObtenerMensajesErrores(ref dsDatos);

                //DataSet dataSet = new DataSet();
                //dataSet.ReadXml(ConfigurationManager.AppSettings["xmlErrores"].ToString()); // ("input.xml", XmlReadMode.ReadSchema);

                DataTable dtErrores = new DataTable();
                dtErrores = dsDatos.Tables[0];

                DataTable dt = SelectIntoDataTable(String.Format("IdMensaje='{0}'", IdError), dtErrores);
                DataRow dr;
                dr = dt.Rows[0];

                string textoMensaje, tipoMensaje;

                textoMensaje = dr["TextoMensaje"].ToString();
                tipoMensaje = dr["TipoMensaje"].ToString();

                EstablecerMensaje(textoMensaje, tipoMensaje);

            }
            catch
            {
                EstablecerMensaje("Lo sentimos, no pudimos procesar su transacción. Por favor, intentelo más tarde.", "Error" );
            }
        }

        private void EstablecerMensaje(string mensaje, string tipoMensaje)
        {
            pcCajaMensajes1.Mensaje = mensaje;
            if (String.Equals(tipoMensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Atencion.ToString()))
                pcCajaMensajes1.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Atencion;
            if (String.Equals(tipoMensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Error.ToString()))
                pcCajaMensajes1.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Error;
            if (String.Equals(tipoMensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion.ToString()))
                pcCajaMensajes1.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Informacion;
            if (String.Equals(tipoMensaje, WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Satisfactorio.ToString()))
                pcCajaMensajes1.TipoMensaje = WebCliente.UserControls.pcCajaMensajes.PageProtectionMode.Satisfactorio;

            pcCajaMensajes1.EstablecerInformacion();
        }

        protected void btnRetornar_Click(object sender, EventArgs e)
        {
            Response.Redirect("/Pages/registro.aspx");
        }
    }
}
